/**
 * Created by BobyCo on 2017/11/22 0022.
 */
/**
 * Created by BobyCo on 2017/11/16 0016.
 */
$(function () {
    var loading = false, // 数据是否加载中
        isNoMoreData = JSON.parse(sessionStorage.getItem('isNoMoreData')) || false, // 是否没有更多数据
        list = (sessionStorage.getItem('list') && JSON.parse(sessionStorage.getItem('list')))||[], // 供应商数据
        isBack = sessionStorage.getItem('isBack') || 0;
        page = JSON.parse(sessionStorage.getItem('page')) || {  // 数据请求分页信息
            pageSize: 10,
            pageNo: 1
        },
        url = "", // 请求后台的url地址
        delIconSrc = getRealPath() + "/wx_public/images/default/del-icon2.png",
        $searchPanel = $(".search"),
        $searchInput = $("#searchInput"),
        $searchBar = $("#searchBar"),
        $searchHistoryPanel = $(".search-history"),
        $clearBtn = $(".clear-history_btn"), // 清空历史记录按钮
        $searchHistoryItem = $(".search-history-item"), // 历史记录列表
        hallNeedSearchs = getNormalItem("hallNeedSearchs")||"", // 本地存储的查询历史记录
        items = (hallNeedSearchs && hallNeedSearchs.split(",")) || []; // 将历史记录字符串转为数组

        // 初始化滚动加载插件
    $(".suppliers-panel__data").infinite().on("infinite", function() {
        if(loading || isNoMoreData) return; // 如果数据正在加载中，或者没有更多数据时，不再请求后台数据
        loading = true;
        initSupplierDatas();
    });

    // 初始化历史查询记录
    function initSearchHistoryItems() {
        $searchHistoryPanel.hide();
        $searchInput.val("");
        if (items.length > 0) {
            $searchHistoryPanel.show();
        }
        $searchHistoryItem.html("");
        $.each(items, function (i, e) {
            $searchHistoryItem.append("<li><p>" + e + "</p><a href=\"javascript:;\" class=\"label-close\"><img src='"+delIconSrc+"' alt=''></a></li>")
        });

        triggerCloseLabel();
        triggerLiClick();
    }

    // 清空历史记录
    $clearBtn.off("click").click(function () {
        removeItem("hallNeedSearchs");
        hallNeedSearchs = "";
        items = [];
        initSearchHistoryItems();
        $(this).parent().hide();
    });

    // 点击历史记录进行查询
    function triggerLiClick() {
        $searchHistoryItem.find("p").click(function (e) {
            e.stopPropagation();
            page.search = $(this).html();
            resizeSearch();
            // 查询数据
            initSupplierDatas();
        });
    }

    function triggerCloseLabel() {
        $(".label-close").off("click").click(function () {
            items.splice($(this).parent().index(), 1);
            $(this).parent().remove();
            initSearchHistoryItems();
        });
    }

    // 点击查询 显示查询面板 并初始化查询历史记录
    $(".weui-tab .add a:eq(0)").off("click").click(function (e) {
        initSearchHistoryItems();
        $searchPanel.show();
    });

    // 点击查询面板中的取消，关闭查询面板
    $("#searchClear").off("click").click(function (e) {
        e.preventDefault();
        $searchPanel.hide();
    });

    // 查询事件 搜索信息为必填项
    $searchInput.bind('search', function () {
        page.search = $.trim($searchInput.val());
        if (page.search.length > 0) {
            // 本地存储查询历史记录
            items.push($searchInput.val().toString());
            setNormalItem("hallNeedSearchs", items.join(","));
            resizeSearch();
            // 查询数据
            initSupplierDatas();
        }
    });

    function resizeSearch() {
        $searchPanel.hide();
        list = []; // 查询时重置list的值
        page.pageNo = 1;
    }

    // 初始化供应商信息
    if (isBack == 0) {
        initSupplierDatas();
    } else { // 从供应商商品页面返回时触发
        showDataTable(list);
        $(".suppliers-panel__data").animate({ // 滚动到指定行
            scrollTop: $(".data-panel .weui-panel").eq(sessionStorage.getItem("data_index")).offset().top
        },0);
        sessionStorage.removeItem("isBack");
        sessionStorage.removeItem("data_index");
        sessionStorage.removeItem("list");
        sessionStorage.removeItem("page");
        sessionStorage.removeItem("isNoMoreData");
    }

    // 加载交易员数据
    function initSupplierDatas() {
        $(".weui-loadmore").show(); // 显示加载提示
        $(".no-more-data").hide(); // 隐藏无更多数据提示
        /*
         // 请求后台数据
         $.post(
         url,
         pageInfo,
         function (result) {
         // result 格式
         list = list.concat(result);
         showDataTable(result);
         },
         "json"
         ).complete(function () {
         // 处理完成后
         $(".weui-loadmore").hide();
         loading = false;
         });
         */


        // 模拟数据开始  对接后台将以下模拟数据删掉
        var result = [{
            "img": "http://tx.haiqq.com/uploads/allimg/150320/1K91S408-0.jpg", // 图片路径
            "name": "荣成泰详食品股份有限公司",
            "picker": "地址地址地址，此处显示20字",
            "label": "海产品,辣酱,排类,料理包,火锅食材",
            "isAuth" : 0 // 是否认证 1为认证 0为未认证
        }, {
            "img": "http://tx.haiqq.com/uploads/allimg/150320/1K91S408-0.jpg", // 图片路径
            "name": "荣成泰详食品股份有限公司",
            "picker": "地址地址地址，此处显示20字",
            "label": "海产品,辣酱,排类",
            "isAuth" : 1 // 是否认证 1为认证 0为未认证
        }, {
            "img": "http://tx.haiqq.com/uploads/allimg/150320/1K91S408-0.jpg", // 图片路径
            "name": "荣成泰详食品股份有限公司",
            "picker": "地址地址地址，此处显示20字",
            "label": "排类,料理包,火锅食材",
            "isAuth" : 0 // 是否认证 1为认证 0为未认证
        }, {
            "img": "http://tx.haiqq.com/uploads/allimg/150320/1K91S408-0.jpg", // 图片路径
            "name": "荣成泰详食品股份有限公司",
            "picker": "地址地址地址，此处显示20字",
            "label": "排类,料理包",
            "isAuth" : 0 // 是否认证 1为认证 0为未认证
        }, {
            "img": "http://tx.haiqq.com/uploads/allimg/150320/1K91S408-0.jpg", // 图片路径
            "name": "荣成泰详食品股份有限公司",
            "picker": "地址地址地址，此处显示20字",
            "label": "海产品",
            "isAuth" : 1 // 是否认证 1为认证 0为未认证
        }, {
            "img": "http://tx.haiqq.com/uploads/allimg/150320/1K91S408-0.jpg", // 图片路径
            "name": "荣成泰详食品股份有限公司",
            "picker": "地址地址地址，此处显示20字地址地址地址，此处显示20字",
            "label": "海产品",
            "isAuth" : 0 // 是否认证 1为认证 0为未认证
        }, {
            "img": "http://tx.haiqq.com/uploads/allimg/150320/1K91S408-0.jpg", // 图片路径
            "name": "荣成泰详食品股份有限公司",
            "picker": "地址地址地址，此处显示20字",
            "label": "海产品",
            "isAuth" : 1 // 是否认证 1为认证 0为未认证
        }, {
            "img": "http://tx.haiqq.com/uploads/allimg/150320/1K91S408-0.jpg", // 图片路径
            "name": "荣成泰详食品股份有限公司",
            "picker": "地址地址地址，此处显示20字",
            "label": "海产品",
            "isAuth" : 1 // 是否认证 1为认证 0为未认证
        }, {
            "img": "http://tx.haiqq.com/uploads/allimg/150320/1K91S408-0.jpg", // 图片路径
            "name": "荣成泰详食品股份有限公司",
            "picker": "地址地址地址，此处显示20字",
            "label": "海产品",
            "isAuth" : 0 // 是否认证 1为认证 0为未认证
        }, {
            "img": "http://tx.haiqq.com/uploads/allimg/150320/1K91S408-0.jpg", // 图片路径
            "name": "荣成泰详食品股份有限公司",
            "picker": "介绍介绍介绍介绍介，介绍，介绍介绍介绍， 介绍介绍介绍",
            "label": "海产品",
            "isAuth" : 1 // 是否认证 1为认证 0为未认证
        }];

        if (page.pageNo == 3) {
            result.pop();
        }
        list = list.concat(result);
        setTimeout(function() {
            showDataTable(result);
        }, 2000);
        // 模拟数据结束
    }

    function showDataTable(result) {
        if (result.length > 0) {
            if(isBack == 0) page.pageNo++;
            result.forEach(function (d, i, arr) {
                var labels = stringToArray(d.label),
                    lis = "";
                labels.forEach(function (a, p, ls) {
                    lis = lis + "<li>"+a+"</li>";
                });

                $(".data-panel").append(
                    '<div class="weui-panel weui-panel_access">' +
                    '<div class="weui-panel__bd">' +
                    '<div class="weui-media-box weui-media-box_appmsg">' +
                    '<div class="weui-media-box__hd">' +
                    '<img class="weui-media-box__thumb" src="'+d.img+'">' +
                    '</div>' +
                    '<div class="weui-media-box__bd">' +
                    '<h4 class="weui-media-box__title">'+d.name+(d.isAuth==1?'<span>&bull;资质认证</span>':'')+'</h4>' +
                    '<p class="weui-media-box__desc">'+(d.picker.length>20?d.picker.substr(0, 20)+'…': d.picker)+'</p>' +
                    '<ul class="weui-media-box__info">'+lis+'</ul>' +
                    '</div>' +
                    '</div>' +
                    '</div>' +
                    '</div>'
                );
            });
            // 跳转到供应商详情（商品）页
            $(".weui-media-box__hd, .weui-media-box__title").click(function () {
                sessionStorage.setItem("list", JSON.stringify(list));
                sessionStorage.setItem("page", JSON.stringify(page));
                sessionStorage.setItem("isNoMoreData", isNoMoreData);
                sessionStorage.setItem("data_index", $(this).parentsUntil(".data-panel").filter(".weui-panel").index()); // 点击的哪条数据
                window.location.href = getRealPath() + "/hall/showproduct.html";
            });

            if (result.length < page.pageSize || isNoMoreData) {
                $(".no-more-data").show();
                isNoMoreData = true;
            }

            $(".weui-loadmore").hide();
            loading = false;
        }
    }
});